From: Keir Fraser Date: Thu, 14 Jan 2010 14:11:25 +0000 (+0000) Subject: Make sure the minimum shadow allocation is never zero. X-Git-Tag: archive/raspbian/4.8.0-1+rpi1~1^2~12734 X-Git-Url: https://dgit.raspbian.org/%22http:/www.example.com/cgi/%22https://%22%22/%22http:/www.example.com/cgi/%22https:/%22%22?a=commitdiff_plain;h=46785b54f8cda84811f02bdeee8d9bd780fa29dc;p=xen.git Make sure the minimum shadow allocation is never zero. Signed-off-by: Tim Deegan --- diff --git a/xen/arch/x86/mm/shadow/common.c b/xen/arch/x86/mm/shadow/common.c index 434d567536..5e37bb01d4 100644 --- a/xen/arch/x86/mm/shadow/common.c +++ b/xen/arch/x86/mm/shadow/common.c @@ -1244,10 +1244,11 @@ int shadow_cmpxchg_guest_entry(struct vcpu *v, intpte_t *p, * instruction, we must be able to map a large number (about thirty) VAs * at the same time, which means that to guarantee progress, we must * allow for more than ninety allocated pages per vcpu. We round that - * up to 128 pages, or half a megabyte per vcpu. */ + * up to 128 pages, or half a megabyte per vcpu, and add 1 more vcpu's + * worth to make sure we never return zero. */ static unsigned int shadow_min_acceptable_pages(struct domain *d) { - u32 vcpu_count = 0; + u32 vcpu_count = 1; struct vcpu *v; for_each_vcpu(d, v)